using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

//Importamos
using EventSys.BussinesEntities;

namespace EventSys.Repository.Mapping
{
    public class AuspiciadorMap : EntityTypeConfiguration<Auspiciador>
    {

        public AuspiciadorMap()
        {
            // Primary Key
            this.HasKey(t => t.idAuspiciador);

            // Properties
            this.Property(t => t.RazonSocial)
                .HasMaxLength(50);

            this.Property(t => t.Marca)
                .HasMaxLength(20);

            this.Property(t => t.Direccion)
                .HasMaxLength(50);

            this.Property(t => t.Telefono)
                .HasMaxLength(20);

            this.Property(t => t.PageWeb)
                .HasMaxLength(50);

            this.Property(t => t.Representante)
                .HasMaxLength(50);

            this.Property(t => t.RucDni)
                .HasMaxLength(11);

            this.Property(t => t.TipoAuspiciador)
                .HasMaxLength(8);

            this.Ignore(t=>t.ImageMimeType);

            // Table & Column Mappings
            this.ToTable("Auspiciador");
            this.Property(t => t.idAuspiciador).HasColumnName("idAuspiciador");
            this.Property(t => t.RazonSocial).HasColumnName("RazonSocial");
            this.Property(t => t.Marca).HasColumnName("Marca");
            this.Property(t => t.Direccion).HasColumnName("Direccion");
            this.Property(t => t.Telefono).HasColumnName("Telefono");
            this.Property(t => t.PageWeb).HasColumnName("PageWeb");
            this.Property(t => t.Representante).HasColumnName("Representante");
            this.Property(t => t.RucDni).HasColumnName("RucDni");
            this.Property(t => t.Logo).HasColumnName("Logo");
            this.Property(t => t.TipoAuspiciador).HasColumnName("TipoAuspiciador");
        }
    }
}


//        public AuspiciadorMap()
//        {
//            // Primary Key
//            this.HasKey(t => t.idAuspiciador);

//            // Properties
//            this.Property(t => t.RazonSocial)
//                .HasMaxLength(50);

//            this.Property(t => t.Marca)
//                .HasMaxLength(20);

//            this.Property(t => t.Direccion)
//                .HasMaxLength(50);

//            this.Property(t => t.Telefono)
//                .HasMaxLength(20);

//            this.Property(t => t.PageWeb)
//                .HasMaxLength(50);

//            this.Property(t => t.Representante)
//                .HasMaxLength(50);

//            this.Property(t => t.RucDni)
//                .HasMaxLength(11);

//            // Table & Column Mappings
//            this.ToTable("Auspiciador");
//            this.Property(t => t.idAuspiciador).HasColumnName("idAuspiciador");
//            this.Property(t => t.RazonSocial).HasColumnName("RazonSocial");
//            this.Property(t => t.Marca).HasColumnName("Marca");
//            this.Property(t => t.Direccion).HasColumnName("Direccion");
//            this.Property(t => t.Telefono).HasColumnName("Telefono");
//            this.Property(t => t.PageWeb).HasColumnName("PageWeb");
//            this.Property(t => t.Representante).HasColumnName("Representante");
//            this.Property(t => t.RucDni).HasColumnName("RucDni");
//            this.Property(t => t.Logo).HasColumnName("Logo");

//            // Relationships
//            this.HasMany(t => t.Eventoes)
//                .WithMany(t => t.Auspiciadors)
//                .Map(m =>
//                {
//                    m.ToTable("EventoAuspiciador");
//                    m.MapLeftKey("idAuspiciador");
//                    m.MapRightKey("idEvents");
//                });

//            //Se agrego para la seleccion
//            this.Ignore(p => p.IsSelect);

//        }
//    }
//}

